//
//  LoginVM.m
//  001--RAC集合类
//
//  Created by 王苏进 on 3/5/17.
//  Copyright © 2017年 TZ. All rights reserved.
//

#import "LoginVM.h"

@implementation LoginVM



- (instancetype)init
{
    self = [super init];
    if (self) {
        [self setUp];
    }
    return self;
}

- (void)setUp{
   //
    //组合信号（无序组合）
    
    _loginEnableSignal =  [RACSignal combineLatest:@[RACObserve(self, account),RACObserve(self, pwd)] reduce:^id _Nullable(NSString *account, NSString *pwd){
        return @(account.length && pwd.length);
    }];
    
    //创建命令
    // command
    
    _loginCommand = [[RACCommand alloc] initWithSignalBlock:^RACSignal * _Nonnull(id  _Nullable input) {
        
        return   [RACSignal createSignal:^RACDisposable * _Nullable(id<RACSubscriber>  _Nonnull subscriber) {
            
            
            //密码加密  发送请求 获取登录请求
            [subscriber sendNext:@"登录结果"];
            [subscriber sendCompleted];
            return [RACDisposable disposableWithBlock:^{
                
            }];
            
        }];
        
    }];
    
    //处理菊花的地方
    // 跳过第一次  因为 第一次 0 不需要监听
    [[_loginCommand.executing skip:1] subscribeNext:^(NSNumber * _Nullable x) {
        
        if (x.boolValue == 0) {
            NSLog(@"干掉菊花");
        }else{
            NSLog(@"显示菊花");
        }
        
    }];
    


    
    
}



@end
